export const enum BOX_TYPE_ENUM {
  input= 'input',
  select= 'select',
  radio= 'radio',
  checkbox= 'checkbox',
  inputNumber= 'inputNumber',
  datePicker= 'datePicker',
  textarea= 'textarea',
}

/**
 * 字段列表
 */
export const BOX_TYPE = [
  {label: 'input', value: BOX_TYPE_ENUM.input},
  {label: 'select', value: BOX_TYPE_ENUM.select},
  {label: 'radio', value: BOX_TYPE_ENUM.radio},
  {label: 'checkbox', value: BOX_TYPE_ENUM.checkbox},
  {label: 'input-number', value: BOX_TYPE_ENUM.inputNumber},
  {label: 'date-picker', value: BOX_TYPE_ENUM.datePicker},
  {label: 'textarea', value: BOX_TYPE_ENUM.textarea},
]

/**
 * 后端字段类型
 */
export const enum JAVA_TYPE_ENUM {
  string = 'string',
  stringDateTime = 'string(date-time)',
  integer = 'integer',
  boolean = 'boolean',
}

/**
 * 后端字段类型和前端组件匹配
 */
export const JAVA_TYPE_TO_BOX_TYPE = {
  [JAVA_TYPE_ENUM.string]: BOX_TYPE_ENUM.input,
  [JAVA_TYPE_ENUM.stringDateTime]: BOX_TYPE_ENUM.datePicker,
  [JAVA_TYPE_ENUM.integer]: BOX_TYPE_ENUM.inputNumber,
}

/**
 * 后端字段类型和前端类型匹配
 */
export const COLUMN_TYPE_MAP = {
  [JAVA_TYPE_ENUM.string]: 'string',
  [JAVA_TYPE_ENUM.stringDateTime]: 'string',
  [JAVA_TYPE_ENUM.integer]: 'number',
  [JAVA_TYPE_ENUM.boolean]: 'boolean',
}

// 代码生成数据保存字符
export const GENERATE_JSON = 'generateJson';

// 代码生成数据列表保存字符
export const GEN_LIST_JSON = 'genListJson';

/**
 *
 */
export enum  VIEW_TYPE_ENUM {
  /** 列表页面 */
  index = 'index',
  /** 编辑页面 */
  edit = 'edit',
  /** 详情页面 */
  detail = 'detail',
  /** 后端接口api */
  api = 'api',
  /** ts类型 */
  record = 'record',
  /** ts类型 */
  mock = 'mock',
}

